package com.qf.day11;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalDemo {
    public static void main(String[] args) {

        BigDecimal d1 = new BigDecimal("1.0");
        BigDecimal d2 = new BigDecimal("6");
        // 除法运算，需要指定保留几位小数以及舍入方式 （）
        BigDecimal d3 = d1.divide(d2,2, RoundingMode.HALF_UP);
        System.out.println(d3);


        // 计算订单的金额
//        int num = 5;
//        double price = 1.5;
//
//        // 进步类型num如何转为String
//        BigDecimal d1 = new BigDecimal(String.valueOf(num));
//        BigDecimal d2 = new BigDecimal(price + "");
//        // 计算乘法
//        BigDecimal d3 = d1.multiply(d2);
//        System.out.println(d3);


        // 解决方案，使用BigDedecimal表示小数，然后在进行运算即可
//        BigDecimal d1 = new BigDecimal("1.0");  // 注意，构建BigDecimal时，需要使用字符串
//        BigDecimal d2 = new BigDecimal("0.9");
//        BigDecimal d3 = d1.subtract(d2);  // 减法运算
//        System.out.println(d3);


        // 做小数运算时可能出现问题
//        double a = 1.0;
//        double b = 0.9;  // 计算机中对于0.9的表示是不精确的
//
//        double v = a - b;
//        System.out.println(v);

    }
}
